AdaStreams: A Type-Based Programming Extension for Stream-Parallelism with Ada 2005

نویسندگان

  • Jingun Hong
  • Kirak Hong
  • Bernd Burgstaller
  • Johann Blieberger
چکیده

Because multicore CPUs have become the standard with all major hardware manufacturers, it becomes increasingly important for programming languages to provide programming abstractions that can be mapped effectively onto parallel architectures. Stream processing is a programming paradigm where computations are expressed as independent actors that communicate via data streams. The coarse-grained parallelism exposed in stream programs facilitates such an efficient mapping of actors onto the underlying hardware. In this paper we propose a type-based stream programming extension to Ada 2005. AdaStreams is a type-hierarchy for actor-specification together with a run-time system that supports the execution of stream programs on multicore architectures. AdaStreams is non-intrusive in the sense that no change of an Ada 2005 programming language implementation is required. Legacy-code can be mixed with a stream-parallel application, and the use of sequential legacy code with actors is supported. Unlike previous approaches, AdaStreams allows creation and subsequent execution of stream programs at run-time. We have implemented AdaStreams for Intel multicore architectures. We provide initial experimental results that show the effectiveness of our approach on an Intel X86-64 quadcore processor. The initial release of our work is available for download at [1].

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Tasklettes - A Fine Grained Parallelism for Ada on Multicores

The widespread use of multi-CPU computers is challenging programming languages, which need to adapt to be able to express potential parallelism at the language level. In this paper we propose a new model for fine grained parallelism in Ada, putting forward a syntax based on aspects, and the corresponding semantics to integrate this model with the existing Ada tasking capabilities. We also propo...

متن کامل

Objektorientierte Stromprogrammierung

With multicore chips, parallelism becomes mainstream. However, most programming languages address parallelism at an abstraction level that is too low – thus, implementing and optimizing parallel applications is still difficult and error-prone. This thesis presents concepts enabling stream programming in object-oriented languages. Stream programming is capable of easily exploiting parallelism an...

متن کامل

OpenMP Tasking Model for Ada: Safety and Correctness

The safety-critical real-time embedded domain increasingly demands the use of parallel architectures to fulfill performance requirements. Such architectures require the use of parallel programming models to exploit the underlying parallelism. This paper evaluates the applicability of using OpenMP, a widespread parallel programming model, with Ada, a language widely used in the safety-critical d...

متن کامل

Advances in Parallel-Stage Decoupled Software Pipelining Leveraging Loop Distribution, Stream-Computing and the SSA Form

Decoupled Software Pipelining (DSWP) is a program partitioning method enabling compilers to extract pipeline parallelism from sequential programs. Parallel Stage DSWP (PS-DSWP) is an extension that also exploits the data parallelism within pipeline filters. This paper presents the preliminary design of a new PS-DSWP method capable of handling arbitrary structured control flow, a slightly better...

متن کامل

Using Object-Oriented Methods in Ada 95 to Implement Linda

This paper describes an implementation of Linda for Ada 95. The new capabilities of object oriented programming and programming by extension are used to define an elegant, type safe and easy to use interface to Linda. The implementation provides more of the functionality of Linda than Ada-Linda for Ada 83. A short presentation of the Linda model and a programming example are also included.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010